:root {
    --fluid--min-width: 320;
    --fluid--max-width: 1440;
    --fluid--screen: 100vw;
    --fluid--breakpoint: calc((var(--fluid--screen) - var(--fluid--min-width) / 16 * 1rem) / (var(--fluid--max-width) - var(--fluid--min-width)));
    --scale--minor-second: 1.067;
    --scale--major-second: 1.125;
    --scale--minor-third: 1.2;
    --scale--major-third: 1.25;
    --scale--perfect-fourth: 1.333;
    --scale--augmented-fourth: 1.414;
    --scale--perfect-fifth: 1.5;
    --scale--golden: 1.618;
    --scale: var(--scale--minor-third);
    --scale--pow-minus-2: calc(var(--scale) / var(--scale) / var(--scale));
    --scale--pow-minus-1: calc(var(--scale) / var(--scale));
    --scale--pow-1: calc(var(--scale) * 1);
    --scale--pow-2: calc(var(--scale) * var(--scale));
    --scale--pow-3: calc(var(--scale) * var(--scale) * var(--scale));
    --scale--pow-4: calc(var(--scale) * var(--scale) * var(--scale) * var(--scale));
    --scale--pow-5: calc(var(--scale) * var(--scale) * var(--scale) * var(--scale) * var(--scale));
    --type-scale--min: var(--scale--minor-third);
    --type-scale--max: var(--scale--major-third);
    --type-scale--min--pow-minus-4: calc(1 / var(--type-scale--min) / var(--type-scale--min) / var(--type-scale--min) / var(--type-scale--min));
    --type-scale--min--pow-minus-3: calc(1 / var(--type-scale--min) / var(--type-scale--min) / var(--type-scale--min));
    --type-scale--min--pow-minus-2: calc(1 / var(--type-scale--min) / var(--type-scale--min));
    --type-scale--min--pow-minus-1: calc(1 / var(--type-scale--min));
    --type-scale--min--pow-1: calc(var(--type-scale--min) * 1);
    --type-scale--min--pow-2: calc(var(--type-scale--min) * var(--type-scale--min));
    --type-scale--min--pow-3: calc(var(--type-scale--min) * var(--type-scale--min) * var(--type-scale--min));
    --type-scale--min--pow-4: calc(var(--type-scale--min) * var(--type-scale--min) * var(--type-scale--min) * var(--type-scale--min));
    --type-scale--min--pow-5: calc(var(--type-scale--min) * var(--type-scale--min) * var(--type-scale--min) * var(--type-scale--min) * var(--type-scale--min));
    --type-scale--max--pow-minus-4: calc(1 / var(--type-scale--max) / var(--type-scale--max) / var(--type-scale--max) / var(--type-scale--max));
    --type-scale--max--pow-minus-3: calc(1 / var(--type-scale--max) / var(--type-scale--max) / var(--type-scale--max));
    --type-scale--max--pow-minus-2: calc(1 / var(--type-scale--max) / var(--type-scale--max));
    --type-scale--max--pow-minus-1: calc(1 / var(--type-scale--max));
    --type-scale--max--pow-1: calc(var(--type-scale--max) * 1);
    --type-scale--max--pow-2: calc(var(--type-scale--max) * var(--type-scale--max));
    --type-scale--max--pow-3: calc(var(--type-scale--max) * var(--type-scale--max) * var(--type-scale--max));
    --type-scale--max--pow-4: calc(var(--type-scale--max) * var(--type-scale--max) * var(--type-scale--max) * var(--type-scale--max));
    --type-scale--max--pow-5: calc(var(--type-scale--max) * var(--type-scale--max) * var(--type-scale--max) * var(--type-scale--max) * var(--type-scale--max));
    --font-size--min: 16;
    --font-size--max: 18;
    --font-size--min--2xs: calc(var(--font-size--min) * var(--type-scale--min--pow-minus-3));
    --font-size--min--xs: calc(var(--font-size--min) * var(--type-scale--min--pow-minus-2));
    --font-size--min--sm: calc(var(--font-size--min) * var(--type-scale--min--pow-minus-1));
    --font-size--min--md: var(--font-size--min);
    --font-size--min--lg: calc(var(--font-size--min) * var(--type-scale--min--pow-1));
    --font-size--min--xl: calc(var(--font-size--min) * var(--type-scale--min--pow-2));
    --font-size--min--2xl: calc(var(--font-size--min) * var(--type-scale--min--pow-3));
    --font-size--min--3xl: calc(var(--font-size--min) * var(--type-scale--min--pow-4));
    --font-size--min--4xl: calc(var(--font-size--min) * var(--type-scale--min--pow-5));
    --font-size--max--2xs: calc(var(--font-size--max) * var(--type-scale--max--pow-minus-3));
    --font-size--max--xs: calc(var(--font-size--max) * var(--type-scale--max--pow-minus-2));
    --font-size--max--sm: calc(var(--font-size--max) * var(--type-scale--max--pow-minus-1));
    --font-size--max--md: var(--font-size--max);
    --font-size--max--lg: calc(var(--font-size--max) * var(--type-scale--max--pow-1));
    --font-size--max--xl: calc(var(--font-size--max) * var(--type-scale--max--pow-2));
    --font-size--max--2xl: calc(var(--font-size--max) * var(--type-scale--max--pow-3));
    --font-size--max--3xl: calc(var(--font-size--max) * var(--type-scale--max--pow-4));
    --font-size--max--4xl: calc(var(--font-size--max) * var(--type-scale--max--pow-5));
    --font-size--2xs: calc(((var(--font-size--min--2xs) / 16) * 1rem) + (var(--font-size--max--2xs) - var(--font-size--min--2xs)) * var(--fluid--breakpoint));
    --font-size--xs: calc(((var(--font-size--min--xs) / 16) * 1rem) + (var(--font-size--max--xs) - var(--font-size--min--xs)) * var(--fluid--breakpoint));
    --font-size--sm: calc(((var(--font-size--min--sm) / 16) * 1rem) + (var(--font-size--max--sm) - var(--font-size--min--sm)) * var(--fluid--breakpoint));
    --font-size--md: calc(((var(--font-size--min--md) / 16) * 1rem) + (var(--font-size--max--md) - var(--font-size--min--md)) * var(--fluid--breakpoint));
    --font-size--lg: calc(((var(--font-size--min--lg) / 16) * 1rem) + (var(--font-size--max--lg) - var(--font-size--min--lg)) * var(--fluid--breakpoint));
    --font-size--xl: calc(((var(--font-size--min--xl) / 16) * 1rem) + (var(--font-size--max--xl) - var(--font-size--min--xl)) * var(--fluid--breakpoint));
    --font-size--2xl: calc(((var(--font-size--min--2xl) / 16) * 1rem) + (var(--font-size--max--2xl) - var(--font-size--min--2xl)) * var(--fluid--breakpoint));
    --font-size--3xl: calc(((var(--font-size--min--3xl) / 16) * 1rem) + (var(--font-size--max--3xl) - var(--font-size--min--3xl)) * var(--fluid--breakpoint));
    --font-size--4xl: calc(((var(--font-size--min--4xl) / 16) * 1rem) + (var(--font-size--max--4xl) - var(--font-size--min--4xl)) * var(--fluid--breakpoint));
    --font-size--inherit: inherit;
    --font-size: var(--font-size--md);
}
